﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoreGallery.Addins.Contracts;

namespace CoreServiceAddins
{
    /// <summary>
    /// Runs in the background to discover images that have location information set.
    /// Looks up location information to tag images with latitude/longitude information
    /// for further processing, mapping, etc.
    /// </summary>
    [CoreAddin("Geocode background service", "{659E4CD4-D1FC-41cf-B5A5-27FA8552F28F}",
        Description = "Converts location info to latitude/longitude")]
    public class GeocodeService : IServiceAddinBase
    {
        #region IServiceAddinBase Members

        public void OnStart()
        {
            Console.WriteLine("GeocodeService started");
        }

        public void OnStop()
        {
            Console.WriteLine("GeocodeService stopped");
        }

        #endregion

        #region ICoreAddinBase Members

        public string Name
        {
            get { return "Geocode background service"; }
        }

        public string Creator
        {
            get { return "Arian Kulp"; }
        }

        public Guid UniqueKey
        {
            get { return new Guid("{659E4CD4-D1FC-41cf-B5A5-27FA8552F28F}"); }
        }

        public string Description
        {
            get { return "Converts location info to latitude/longitude"; }
        }

        public string AboutText
        {
            get { return "Core addin for background geocoding"; }
        }

        public Version Version
        {
            get { return new Version(1, 0, 0); }
        }

        public void OnInit()
        {
            Console.WriteLine("GeocodeService init'd");
        }

        public void OnLoad()
        {
            Console.WriteLine("GeocodeService loaded");
        }

        public void OnUnload()
        {
            Console.WriteLine("GeocodeService unloaded");
        }

        #endregion
    }
}
